home *** CD-ROM | disk | FTP | other *** search
Text File | 1985-08-13 | 26.3 KB | 1,147 lines | [TEXT/Anon] |
- IDENT MACTEXT
- OPTION SUBTTL,CREF,LABELS,UPPER
- STEXT
- PAGE ,132
- MACTEXT TITLE MacIntosh SYSTEM CALLS AND EQUATES.
- ** MACTEXT - MacIntosh SYSTEM CALLS, DATA STUCTURES, AND MEMORY LOCATIONS.
- *
- * COPYRIGHT (c) 1985 by J. R. Hogue
-
- OSCALLS TITLE SYSTEM TRAP CALLS.
- ** SYSTEM TRAP CALLS.
-
-
- Open EQU $A000
- Close EQU $A001
- Read EQU $A002
- Write EQU $A003
- Control EQU $A004
- Status EQU $A005
- KillIO EQU $A006
- GetVolInfo EQU $A007
- Create EQU $A008
- Delete EQU $A009
- OpenRF EQU $A00A
- ReName EQU $A00B
- GetFileInfo EQU $A00C
- SetFileInfo EQU $A00D
- UnMountVol EQU $A00E
- MountVol EQU $A00F
- Allocate EQU $A010
- GetEOF EQU $A011
- SetEOF EQU $A012
- FlushVol EQU $A013
- GetVol EQU $A014
- SetVol EQU $A015
- InitQueue EQU $A016
- Eject EQU $A017
- GetFPos EQU $A018
- InitZone EQU $A019
- GetZone EQU $A11A
- SetZone EQU $A01B
- FreeMem EQU $A01C
- MaxMem EQU $A11D
- NewPtr EQU $A11E
- DisposPtr EQU $A01F
- SetPtrSize EQU $A020
- GetPtrSize EQU $A021
- NewHandle EQU $A122
- DisposHandle EQU $A023
- SetHandleSize EQU $A024
- GetHandleSize EQU $A025
- HandleZone EQU $A126
- ReAllocHandle EQU $A027
- RecoverHandle EQU $A128
- HLock EQU $A029
- HUnLock EQU $A02A
- EmptyHandle EQU $A02B
- InitApplZone EQU $A02C
- SetApplLimit EQU $A02D
- BlockMove EQU $A02E
- PostEvent EQU $A02F
- OSEventAvail EQU $A030
- GetOSEvent EQU $A031
- FlushEvents EQU $A032
- VInstall EQU $A033
- VRemove EQU $A034
- OffLine EQU $A035
- MoreMasters EQU $A036
- ReadParam EQU $A037
- WriteParam EQU $A038
- ReadDateTime EQU $A039
- SetDateTime EQU $A03A
- Delay EQU $A03B
- CmpString EQU $A03C
- DrvrInstall EQU $A03D
- DrvrRemove EQU $A03E
- InitUtil EQU $A03F
- ResrvMem EQU $A140
- SetFilLock EQU $A041
- RstFilLock EQU $A042
- SetFilType EQU $A043
- SetFPos EQU $A044
- FlushFile EQU $A045
- GetTrapAddress EQU $A146
- SetTrapAddress EQU $A047
- PtrZone EQU $A148
- HPurge EQU $A049
- HNoPurge EQU $A04A
- SetGrowZone EQU $A04B
- CompactMem EQU $A14C
- PurgeMem EQU $A14D
- AddDrive EQU $A04E
- InstallRDrivers EQU $A04F
- UprString EQU $A054
- SetAppBase EQU $A057
- TOOLBOX TITLE TOOLBOX TRAP CALLS.
- ** TOOLBOX TRAP CALLS.
-
-
- InitFonts EQU $A8FE
- GetFName EQU $A8FF
- GetFNum EQU $A900
- FMSwapFont EQU $A901
- RealFont EQU $A902
- SetFontLock EQU $A903
- DrawGrowIcon EQU $A904
- DragGrayRgn EQU $A905
- NewString EQU $A906
- SetString EQU $A907
- ShowHide EQU $A908
- CalcVis EQU $A909
- CalcVBehind EQU $A90A
- ClipAbove EQU $A90B
- PaintOne EQU $A90C
- PaintBehind EQU $A90D
- SaveOld EQU $A90E
- DrawNew EQU $A90F
- GetWMgrPort EQU $A910
- CheckUpDate EQU $A911
- InitWindows EQU $A912
- NewWindow EQU $A913
- DisposWindow EQU $A914
- ShowWindow EQU $A915
- HideWindow EQU $A916
- GetWRefCon EQU $A917
- SetWRefCon EQU $A918
- GetWTitle EQU $A919
- SetWTitle EQU $A91A
- MoveWindow EQU $A91B
- HiliteWindow EQU $A91C
- SizeWindow EQU $A91D
- TrackGoAway EQU $A91E
- SelectWindow EQU $A91F
- BringToFront EQU $A920
- SendBehind EQU $A921
- BeginUpDate EQU $A922
- EndUpDate EQU $A923
- FrontWindow EQU $A924
- DragWindow EQU $A925
- DragTheRgn EQU $A926
- InvalRgn EQU $A927
- InvalRect EQU $A928
- ValidRgn EQU $A929
- ValidRect EQU $A92A
- GrowWindow EQU $A92B
- FindWindow EQU $A92C
- CloseWindow EQU $A92D
- SetWindowPic EQU $A92E
- GetWindowPic EQU $A92F
- InitMenus EQU $A930
- NewMenu EQU $A931
- DisposMenu EQU $A932
- AppendMenu EQU $A933
- ClearMenuBar EQU $A934
- InsertMenu EQU $A935
- DeleteMenu EQU $A936
- DrawMenuBar EQU $A937
- HiliteMenu EQU $A938
- EnableItem EQU $A939
- DisableItem EQU $A93A
- GetMenuBar EQU $A93B
- SetMenuBar EQU $A93C
- MenuSelect EQU $A93D
- MenuKey EQU $A93E
- GetItmIcon EQU $A93F
- SetItmIcon EQU $A940
- GetItmStyle EQU $A941
- SetItmStyle EQU $A942
- GetItmMark EQU $A943
- SetItmMark EQU $A944
- CheckItem EQU $A945
- GetItem EQU $A946
- SetItem EQU $A947
- CalcMenuSize EQU $A948
- GetMHandle EQU $A949
- SetMFlash EQU $A94A
- PlotIcon EQU $A94B
- FlashMenuBar EQU $A94C
- AddResMenu EQU $A94D
- PinRect EQU $A94E
- DeltaPoint EQU $A94F
- CountMItems EQU $A950
- InsertResMenu EQU $A951
- NewControl EQU $A954
- DisposControl EQU $A955
- KillControls EQU $A956
- ShowControl EQU $A957
- HideControl EQU $A958
- MoveControl EQU $A959
- GetCRefCon EQU $A95A
- SetCRefCon EQU $A95B
- SizeControl EQU $A95C
- HiliteControl EQU $A95D
- GetCTitle EQU $A95E
- SetCTitle EQU $A95F
- GetCtlValue EQU $A960
- GetMinCtl EQU $A961
- GetMaxCtl EQU $A962
- SetCtlValue EQU $A963
- SetMinCtl EQU $A964
- SetMaxCtl EQU $A965
- TestControl EQU $A966
- DragControl EQU $A967
- TrackControl EQU $A968
- DrawControls EQU $A969
- GetCtlAction EQU $A96A
- SetCtlAction EQU $A96B
- FindControl EQU $A96C
- DeQueue EQU $A96E
- EnQueue EQU $A96F
- GetNextEvent EQU $A970
- EventAvail EQU $A971
- GetMouse EQU $A972
- StillDown EQU $A973
- Button EQU $A974
- TickCount EQU $A975
- GetKeys EQU $A976
- WaitMouseUp EQU $A977
- CouldDialog EQU $A979
- FreeDialog EQU $A97A
- InitDialogs EQU $A97B
- GetNewDialog EQU $A97C
- NewDialog EQU $A97D
- SelIText EQU $A97E
- IsDialogEvent EQU $A97F
- DialogSelect EQU $A980
- DrawDialog EQU $A981
- CloseDialog EQU $A982
- DisposDialog EQU $A983
- Alert EQU $A985
- StopAlert EQU $A986
- NoteAlert EQU $A987
- CautionAlert EQU $A988
- CouldAlert EQU $A989
- FreeAlert EQU $A98A
- ParamText EQU $A98B
- ErrorSound EQU $A98C
- GetDItem EQU $A98D
- SetDItem EQU $A98E
- SetIText EQU $A98F
- GetIText EQU $A990
- ModalDialog EQU $A991
- DetachResource EQU $A992
- SetResPurge EQU $A993
- CurResFile EQU $A994
- InitResources EQU $A995
- RsrcZoneInit EQU $A996
- OpenResFile EQU $A997
- UseResFile EQU $A998
- UpdateResFile EQU $A999
- CloseResFile EQU $A99A
- SetResLoad EQU $A99B
- CountResources EQU $A99C
- GetIndResource EQU $A99D
- CountTypes EQU $A99E
- GetIndType EQU $A99F
- GetResource EQU $A9A0
- GetNamedResource EQU $A9A1
- LoadResource EQU $A9A2
- ReleaseResource EQU $A9A3
- HomeResFile EQU $A9A4
- SizeResource EQU $A9A5
- GetResAttrs EQU $A9A6
- SetResAttrs EQU $A9A7
- GetResInfo EQU $A9A8
- SetResInfo EQU $A9A9
- ChangedResource EQU $A9AA
- AddResource EQU $A9AB
- AddReference EQU $A9AC
- RmveResource EQU $A9AD
- RmveRefence EQU $A9AE
- ResError EQU $A9AF
- WriteResource EQU $A9B0
- CreateResFile EQU $A9B1
- SystemEvent EQU $A9B2
- SystemClick EQU $A9B3
- SystemTask EQU $A9B4
- SystemMenu EQU $A9B5
- OpenDeskAcc EQU $A9B6
- CloseDeskAcc EQU $A9B7
- GetPattern EQU $A9B8
- GetCursor EQU $A9B9
- GetString EQU $A9BA
- GetIcon EQU $A9BB
- GetPicture EQU $A9BC
- GetNewWi dow EQU $A9BD
- GetNewControl EQU $A9BE
- GetRMenu EQU $A9BF
- GetNewMBar EQU $A9C0
- UniqueID EQU $A9C1
- SysEdit EQU $A9C2
- Secs2Date EQU $A9C6
- Date2Secs EQU $A9C7
- SysBeep EQU $A9C8
- SysError EQU $A9C9
- PutIcon EQU $A9CA
- TEGetText EQU $A9CB
- TEInit EQU $A9CC
- TEDispose EQU $A9CD
- TextBox EQU $A9CE
- TESetText EQU $A9CF
- TECalText EQU $A9D0
- TESetSelect EQU $A9D1
- TENew EQU $A9D2
- TEUpdate EQU $A9D3
- TEClick EQU $A9D4
- TECopy EQU $A9D5
- TECut EQU $A9D6
- TEDelete EQU $A9D7
- TEActivate EQU $A9D8
- TEDeactivate EQU $A9D9
- TEIdle EQU $A9DA
- TEPaste EQU $A9DB
- TEKey EQU $A9DC
- TEScroll EQU $A9DD
- TEInsert EQU $A9DE
- TESetJust EQU $A9DF
- Munger EQU $A9E0
- HandToHand EQU $A9E1
- PtrToXHand EQU $A9E2
- PtrToHand EQU $A9E3
- HandAndHand EQU $A9E4
- InitPack EQU $A9E5
- InitMath EQU $A9E6
- Pack0 EQU $A9E7
- Pack1 EQU $A9E8
- Pack2 EQU $A9E9
- Pack3 EQU $A9EA
- FP68K EQU $A9EB
- Pack4 EQU $A9EB
- Elems68K EQU $A9EC
- Pack5 EQU $A9EC
- Pack6 EQU $A9ED
- Pack7 EQU $A9EE
- PtrAndHand EQU $A9EF
- LoadSeg EQU $A9F0
- UnLoadSeg EQU $A9F1
- Launch EQU $A9F2
- Chain EQU $A9F3
- ExitToShell EQU $A9F4
- GetAppParms EQU $A9F5
- GetResFileAttrs EQU $A9F6
- SetResFileAttrs EQU $A9F7
- InfoScrap EQU $A9F9
- UnlodeScrap EQU $A9FA
- LodeScrap EQU $A9FB
- ZeroScrap EQU $A9FC
- GetScrap EQU $A9FD
- PutScrap EQU $A9FE
- Debugger EQU $A9FF
- QDRAW TITLE QUICK DRAW TRAP CALLS.
- ** QDRAW - QUICK DRAW TRAP CALLS.
-
-
- InitCursor EQU $A850
- SetCursor EQU $A851
- HideCursor EQU $A852
- ShowCursor EQU $A853
- ShieldCursor EQU $A855
- ObscureCursor EQU $A856
- BitAnd EQU $A858
- BitXOr EQU $A859
- BitNot EQU $A85A
- BitOr EQU $A85B
- BitShift EQU $A85C
- BitTst EQU $A85D
- BitSet EQU $A85E
- BitClr EQU $A85F
- Random EQU $A861
- ForeColor EQU $A862
- BackColor EQU $A863
- ColorBit EQU $A864
- GetPixel EQU $A865
- StuffHex EQU $A866
- LongMul EQU $A867
- FixMul EQU $A868
- FixRatio EQU $A869
- HiWord EQU $A86A
- LoWord EQU $A86B
- FixRound EQU $A86C
- InitPort EQU $A86D
- InitGraf EQU $A86E
- OpenPort EQU $A86F
- LocalToGlobal EQU $A870
- GlobalToLocal EQU $A871
- GrafDevice EQU $A872
- SetPort EQU $A873
- GetPort EQU $A874
- SetPBits EQU $A875
- PortSize EQU $A876
- MovePortTo EQU $A877
- SetOrigin EQU $A878
- SetClip EQU $A879
- GetClip EQU $A87A
- ClipRect EQU $A87B
- BackPat EQU $A87C
- ClosePort EQU $A87D
- AddPt EQU $A87E
- SubPt EQU $A87F
- SetPt EQU $A880
- EqualPt EQU $A881
- StdText EQU $A882
- DrawChar EQU $A883
- DrawString EQU $A884
- DrawText EQU $A885
- TextWidth EQU $A886
- TextFont EQU $A887
- TextFace EQU $A888
- TextMode EQU $A889
- TextSize EQU $A88A
- GetFontInfo EQU $A88B
- StringWidth EQU $A88C
- CharWidth EQU $A88D
- SpaceExtra EQU $A88E
- StdLine EQU $A890
- LineTo EQU $A891
- Line EQU $A892
- MoveTo EQU $A893
- Move EQU $A894
- Moov EQU $A894
- HidePen EQU $A896
- ShowPen EQU $A897
- GetPenState EQU $A898
- SetPenState EQU $A899
- GetPen EQU $A89A
- PenSize EQU $A89B
- PenMode EQU $A89C
- PenPat EQU $A89D
- PenNormal EQU $A89E
- StdRect EQU $A8A0
- FrameRect EQU $A8A1
- PaintRect EQU $A8A2
- EraseRect EQU $A8A3
- InverRect EQU $A8A4
- FillRect EQU $A8A5
- EqualRect EQU $A8A6
- SetRect EQU $A8A7
- OffSetRect EQU $A8A8
- InSetRect EQU $A8A9
- SectRect EQU $A8AA
- UnionRect EQU $A8AB
- Pt2Rect EQU $A8AC
- PtInRect EQU $A8AD
- EmptyRect EQU $A8AE
- StdRRect EQU $A8AF
- FrameRoundRect EQU $A8B0
- PaintRoundRect EQU $A8B1
- EraseRoundRect EQU $A8B2
- InverRoundRect EQU $A8B3
- FillRoundRect EQU $A8B4
- StdOval EQU $A8B6
- FrameOval EQU $A8B7
- PaintOval EQU $A8B8
- EraseOval EQU $A8B9
- InvertOval EQU $A8BA
- FillOval EQU $A8BB
- SlopeFromAngle EQU $A8BC
- StdArc EQU $A8BD
- FrameArc EQU $A8BE
- PaintArc EQU $A8BF
- EraseArc EQU $A8C0
- InvertArc EQU $A8C1
- FillArc EQU $A8C2
- PtToAngle EQU $A8C3
- AngleFromSlope EQU $A8C4
- StdPoly EQU $A8C5
- FramePoly EQU $A8C6
- PaintPoly EQU $A8C7
- ErasePoly EQU $A8C8
- InvertPoly EQU $A8C9
- FillPoly EQU $A8CA
- OpenPoly EQU $A8CB
- ClosePgon EQU $A8CC
- KillPoly EQU $A8CD
- OffSetPoly EQU $A8CE
- PackBits EQU $A8CF
- UnpackBits EQU $A8D0
- StdRgn EQU $A8D1
- FrameRgn EQU $A8D2
- PaintRgn EQU $A8D3
- EraseRgn EQU $A8D4
- InverRgn EQU $A8D5
- FillRgn EQU $A8D6
- NewRgn EQU $A8D8
- DisposRgn EQU $A8D9
- OpenRgn EQU $A8DA
- CloseRgn EQU $A8DB
- CopyRgn EQU $A8DC
- SetEmptyRgn EQU $A8DD
- SetRecRgn EQU $A8DE
- RectRgn EQU $A8DF
- OfSetRgn EQU $A8E0
- InSetRgn EQU $A8E1
- EmptyRgn EQU $A8E2
- EqualRgn EQU $A8E3
- SectRgn EQU $A8E4
- UnionRgn EQU $A8E5
- DiffRgn EQU $A8E6
- XOrRgn EQU $A8E7
- PtInRgn EQU $A8E8
- RectInRgn EQU $A8E9
- SetStdProcs EQU $A8EA
- StdBits EQU $A8EB
- CopyBits EQU $A8EC
- StdTxMeasure EQU $A8ED
- StdGetPic EQU $A8EE
- ScrollRect EQU $A8EF
- StdPutPic EQU $A8F0
- StdComment EQU $A8F1
- PicComment EQU $A8F2
- OpenPicture EQU $A8F3
- ClosePicture EQU $A8F4
- KillPicture EQU $A8F5
- DrawPicture EQU $A8F6
- ScalePt EQU $A8F8
- MapPt EQU $A8F9
- MapRect EQU $A8FA
- MapRgn EQU $A8FB
- MapPoly EQU $A8FC
- VIEWSTUF TITLE FONT/WINDOW/MENU/EDIT EQUS.
-
- * Standard font ID's.
-
- sysFont EQU 0 system font ID
- applFont EQU 1 application font ID
-
- newYork EQU 2 standard release fonts
- geneva EQU 3
- monaco EQU 4
- venice EQU 5
- london EQU 6
- athens EQU 7
- sanFran EQU 8
- toronto EQU 9
- cairo EQU 11
- losangel EQU 12
-
- boldBit EQU 0 Font Styles
- italicBit EQU 1
- ulineBit EQU 2
- outlineBit EQU 3
- shadowBit EQU 4
- condenseBit EQU 5
- extendBit EQU 6
-
- * FindWindow Return Codes.
-
- wNoHit EQU 0 not in window
- wInContent EQU 1 in content area
- wInDrag EQU 2 in drag area
- wInGrow EQU 3 in grow area
- wInGoAway EQU 4 in go away area
-
- * Window Resource Tyes. (WDEF ID's)
-
- documentProc EQU 0 standard document
- dBoxProc EQU 1 dialog box (document without titleBar)
- altDBoxProc EQU 3 no shadow or title
- noGrowDocProc EQU 4 no grow area
- rDocProc EQU 16 document with rounded corners
-
- * ASCII values for special menu characters.
-
- noMark EQU 0
- commandMark EQU $11 cloverleaf (command key)
- checkMark EQU $12 check mark
- diamondMark EQU $13 diamond mark
- appleMark EQU $14 apple mark
-
- * FindWindow classification codes.
-
- inDesk EQU 0 not in any window
- inMenuBar EQU 1 in the menu bar
- inSysWindow EQU 2 in a system window
- inContent EQU 3 in content area of user window
- inDrag EQU 4 in drag area of user window
- inGrow EQU 5 in grow area of user window
- inGoAway EQU 6 in go away area of user window
- inButton EQU 10 in a push button
- inCheckBox EQU 11 in a checkBox button
- inUpButton EQU 20 in up button area of a dial
- inDownButton EQU 21 in down button area of a dial
- inPageUp EQU 22 in page up (gray) area of a dial
- inPageDown EQU 23 in page down (gray) area of a dial
- inThumb EQU 129 in thumb area of a dial
-
- * Resource ID's for controls. (CDEF ID's)
-
- pushButProc EQU 0 rounded-corner pushButtons
- checkBoxProc EQU 1 check-box type buttons
- radioButProc EQU 2 radio buttons
- scrollBarProc EQU 16 scrollBar
- useWFont EQU 8 + window font
-
- sBarPatID EQU 17 scrollBar pattern ID
-
- * Justification styles.
-
- teJustLeft EQU 0 left justified text
- teJustRight EQU 1 right justified text
- teJustCent EQU -1 center justified text
-
- * Text Edit Record.
-
- teDestRect EQU $0 destination rectangle
- teViewRect EQU $8 view rectangle
-
- teSelRect EQU $10 selection rectangle
- teLineHite EQU $18 lineheight (used for line spacing)
- teAscent EQU $1A caret/highlighting position
- teSelPoint EQU $1C selection point
-
- teSelStart EQU $20 start of selection range
- teSelEnd EQU $22 end of selection range
-
- teActive EQU $24 active
-
- teWordBreak EQU $26 word break routine [pointer]
- teClikProc EQU $2A click loop routine [pointer]
-
- teClikTime EQU $2E time of last click
- teClikLoc EQU $32 location of double click
-
- teCarTime EQU $34
- teCarOn EQU $38
- teCarAct EQU $39
- teStyle EQU $3A
-
- teLength EQU $3C length of text in record
- teTextH EQU $3E text handle
-
- teRecBack EQU $42
- teRecLine EQU $44
- teLftClick EQU $46
- teLftCaret EQU $47
-
- teCROnly EQU $48 use <CR> only for line breaks (-1 = yes)
-
- txFont EQU $4A text font
- txFace EQU $4C style
- txMode EQU $4E pen mode
- txSize EQU $50 font size
- teGrafPort EQU $52 grafport for editting [pointer]
-
- teHiHook EQU $56
- teCarHook EQU $5A
-
- teNLines EQU $5E number of lines [word]
- teLines EQU $60 Array.W[0..16000] position of line starts
-
- * Standard buttons.
-
- okButton EQU 1 OK button
- cancelButton EQU 2 Cancel button
-
- * Alert/Dialog Resource ID's.
-
- stopIcon EQU 0 stop icon ID
- noteIcon EQU 1 note icon ID
- ctnIcon EQU 2 caution icon ID
-
- * Alert Template.
-
- aBounds EQU $0 alert box height and width
- aItems EQU $8 item list ID
- aStages EQU $A stages word
-
- * Dialog/Alert Window Record Extensions.
-
- dWindow DS.B $9C window record
- items DS.L 1 Item list [handle]
- teHandle DS.L 1 textEdit object [handle]
- editField DS.W 1 current field being edited
- editOpen DS.W 1 is editting open?
- aDefItem DS.W 1 default item for alerts
- dWindLen DS 0 dialog record length
-
- * In each dialog list item.
-
- itmHndl EQU 0 handle to the item
- itmRect EQU $4 bounding rect of item
- itmType EQU $C item type
- itmData EQU $D item string (must be even length)
-
- * Date-Time record (for use with _Secs2Date and _Date2Secs)
-
-
- DTYear EQU $0 year (1904..) [word]
- DTMonth EQU $2 month (1..12) [word]
- DTDay EQU $4 day (1..31) [word]
- DTHour EQU $6 hour (0..23) [word]
- DTMinute EQU $8 minute (0..59) [word]
- DTSecond EQU $A second (0..59) [word]
- DTDayOfWeek EQU $C day of week, sunday..saturday (1..7) [word]
-
-
- * Finder Globals.
-
-
- FinderName EQU $2E0 Finder name [STRING[15]]
- AppParmHandle EQU $AEC handle to hold application parameters
- SYSEQU TITLE SYSTEM EQUATES.
-
- Ticks EQU $16A Tick count, time since boot [long]
- Time EQU $20C clock time (extrapolated) [long]
-
-
- * Mouse/Keyboard.
-
- MBState EQU $172 current mouse button state [byte]
- KeyMap EQU $174 bitmap of the keyboard [2 longs]
- KeypadMap EQU $17C bitmap for numeric pad (18 bits) [long]
- Key1Trans EQU $29E keyboard translator procedure [pointer]
- Key2Trans EQU $2A2 numeric keypad translator procedure [pointer]
- JGNEFilter EQU $29A GetNextEvent filter proc [pointer]
-
-
- * Cursor.
-
- iBeamCursor EQU 1 text selection cursor
- crossCursor EQU 2 for structured selection
- plusCursor EQU 3 for drawing graphics
- watchCursor EQU 4 for indicating a long delay
-
- Mouse EQU $830 processed mouse coordinate [long]
- CrsrPin EQU $834 cursor pinning rectangle [8 bytes]
- CrsrCouple EQU $8CF cursor coupled to mouse? [byte]
- CrsrScale EQU $8D3 cursor scaled? [byte]
- MouseMask EQU $8D6 V-H mask for ANDing with mouse [long]
- MouseOffset EQU $8DA V-H offset for adding after ANDing [long]
-
- * Event Types.
-
- evType EQU 4 event queue element is type 4
-
- nullEvt EQU 0 null event
- mButDwnEvt EQU 1 mouse button down
- mButUpEvt EQU 2 mouse button up
- keyDwnEvt EQU 3 key down
- keyUpEvt EQU 4 key up
- autoKeyEvt EQU 5 auto-repeated key
- updatEvt EQU 6 update event
- diskInsertEvt EQU 7 disk-inserted event
- activateEvt EQU 8 activate/deactive event
- abortEvt EQU 9 abort event
- netWorkEvt EQU $A network event
- ioDrvrEvt EQU $B driver-defined event
- app1Evt EQU $C application defined events
- app2Evt EQU $D
- app3Evt EQU $E
- app4Evt EQU $F
-
- * Modifier bits in event record.
-
- activeFlag EQU $0 activate
- changeFlag EQU $1 change to system window
- btnState EQU $7 state of button
- cmdKey EQU $8 command key down
- shiftKey EQU $9 shift key down
- alphaLock EQU $A alpha lock down
- optionKey EQU $B option key down
-
- * Event Record Definition.
-
- evtMax EQU $1E maximum number of events in buffer
- evtBlkSize EQU $10 size in bytes of the event record
- evtQBlkSize EQU $16 size of event record counting queue info
-
- evtNum EQU 0 ID number of event [word]
- evtMessage EQU 2 event-defined msg [long]
- evtTicks EQU 6 TICKS when event occured [long]
- evtMouse EQU $A mouse pos. when event occured [long]
- evtMeta EQU $E meta key flags [byte]
- evtMBut EQU $F state of mouse button [byte]
-
-
- SEvtEnb EQU $15C enable SysEvent calls from GNE [byte]
- MonkeyLives EQU $100 monkey lives if >= 0 [word]
- JournalFlag EQU $8DE journaling state [word]
- JournalRef EQU $8E8 Journalling driver's refnum [word]
-
-
- * Master pointer bits for memory handles.
-
- lock EQU 7 lock bit in a master pointer
- purge EQU 6 bit for purgeable/unpurgeable
- resourc EQU 5 bit to flag a resource handle
-
- * System error values.
-
- RestProc EQU $A8C Restart procedure from sysError [pointer]
- DSErrCode EQU $AF0 last system error alert ID
-
- * I/O record.
-
- ioLink EQU $0 queue link
- ioType EQU $4 queue type
- ioTrap EQU $6 routine trap
- ioCmdAddr EQU $8 routine pointer
-
- ioCompletion EQU $C completion routine pointer
- ioResult EQU $10 I/O result code
- ioFileName EQU $12 file name pointer pointer
- ioVRefNum EQU $16 volume refnum
- ioDrvNum EQU $16 drive number
- ioRefNum EQU $18 path reference number
-
- ioFileType EQU $1A specified along with FileName
-
- * fields for _Read, _Write.
-
- ioBuffer EQU $20 data buffer pointer
- ioByteCount EQU $24 requested byte count [long]
- ioNumDone EQU $28 actual byte count completed [long]
-
- ioPosMode EQU $2C initial file positioning mode/eol char [word]
- ioPosOffset EQU $2E file position offset [long]
-
- * fields for _Allocate.
-
- ioReqCount EQU $24 requested new size [long]
- ioActCount EQU $28 actual byte count allocated [long]
-
- * fields for _Open.
-
- ioPermssn EQU $1B permissions
- ioOwnBuf EQU $1C pointer to users own 522-byte buffer
-
- * fields for _ReName.
-
- ioNewName EQU $1C new name pointer pointer
-
- * fields for _GetFileInfo, _SetFileInfo.
-
- ioFDirIndex EQU $1C directory index of file [word]
- ioFlAttrib EQU $1E in-use bit=7, lock bit=0 [byte]
- ioFFlType EQU $1F file type [byte]
- ioFlUsrWds EQU $20 finder info [16 bytes]
- ioFFlNum EQU $30 file number [long]
-
- ioFlStBlk EQU $34 start file block (0000 if none) [word]
- ioFlLgLen EQU $36 logical length (EOF) [long]
- ioFlPyLen EQU $3A physical length in bytes [long]
- ioFlRStBlk EQU $3E resource fork's start file block [word]
- ioFlRLgLen EQU $40 resource fork's logical length (EOF) [long]
- ioFlRPyLen EQU $44 resource fork's physical length [long]
-
- ioFlCrDat EQU $48 creation date & time [long]
- ioFlMdDat EQU $4C last modification date & time [long]
-
- * fields for _GetEOF, _SetEOF.
-
- ioLEOF EQU $1C logical end-of-file [long]
-
- * fields for _SetFileType.
-
- ioNewType EQU $1C new type byte [byte]
-
- * fields for _GetVolInfo, _GetVolume, _SetVolume,
- * _MountVol, _UnmountVol,_Eject.
-
- ioVQElSize EQU $40 Volume command parameter length [64 bytes]
- ioVDrvNum EQU $16 drive or volume number [word]
- ioVNPtr EQU $12 name buffer (or zero) [pointer]
- ioVolIndex EQU $1C volume index number [word]
-
- ioVCrDate EQU $1E creation date & time [long]
- ioVLsBkUp EQU $22 last backup date & time [long]
- ioVAtrb EQU $26 Volume attributes [word]
- ioVNmFls EQU $28 # files in directory [word]
- ioVDirSt EQU $2A start block of file dir [word]
- ioVBlLn EQU $2C length of dir in blocks [word]
- ioVNmAlBlks EQU $2E num blks (of alloc size) this dev [word]
- ioVAlBlkSiz EQU $30 alloc blk byte size [long]
- ioVClpSiz EQU $34 bytes to try to allocate at a time [long]
- ioAlBlSt EQU $38 starting block in block map [word]
- ioVNxtFNum EQU $3A next free file number [long]
- ioVFrBlk EQU $3E # free alloc blks for this vol [word]
-
- * fields for _Control, _Status.
-
- csCode EQU $1A control/status code [word]
- csParam EQU $1C operation-defined parameters [20 bytes]
-
-
- * Miscellaneous stuff.
-
-
- OneOne EQU $A02 constant $00010001
- MinusOne EQU $A06 constant $FFFFFFFF
- Lo3Bytes EQU $31A constant $00FFFFFF
-
- ROMBase EQU $2AE ROM base address [pointer]
- RAMBase EQU $2B2 RAM base address [pointer]
- SysVersion EQU $15A version # of RAM-based system [word]
- RndSeed EQU $156 random seed/number [long]
-
- fnFerr EQU -43 file not found
-
- * Scrap Manager.
-
-
- scrapSize EQU $960 scrap length [long]
- scrapHandle EQU $964 memory scrap [handle]
- scrapCount EQU $968 validation byte [word]
- scrapState EQU $96A scrap state [word]
- scrapName EQU $96C pointer to scrap name [pointer]
-
-
- * Desk Accessory Message Definitions (in CSCode of control call).
-
- accEvent EQU $40 event message from SystemEvent
- accRun EQU $41 run message from SystemTask
- accCursor EQU $42 cursor message from SystemTask
- accMenu EQU $43 menu message from SystemMenu
- accUndo EQU $44 undo message from SystemEdit
- accCut EQU $46 cut message from SystemEdit
- accCopy EQU $47 copy message from SystemEdit
- accPaste EQU $48 paste message from SystemEdit
- accClear EQU $49 clear message from SystemEdit
-
-
- * Segment Loader.
-
- CurApRefNum EQU $900 refNum of application's resFile [word]
- CurrentA5 EQU $904 current value of A5 [pointer]
- CurStackBase EQU $908 current stack base [pointer]
- CurApName EQU $910 name of application [STRING[31]]
- LoadTrap EQU $12D trap before launch? [byte]
- CYCLAN TITLE CYCLAN I/O MACROS AND STRUCTURES.
- FIT SPACE 4,10
- ** FIT - FILE INFORMATION TABLE.
- *
- * The file information table is used by the routines in Module
- * IOS.S to control user file operations and to record file status.
-
- OFFSET $0
-
- FNAM DS.B 8 LOCAL FILE NAME
- FLLC DS 1 LINE COUNT
- FLLM DS 1 LINE LIMIT FOR PAGE
- FLEN DS 1 LINE LENGTH (80/132)
- FLPC DS 1 PAGE COUNT
- FTOF DS.B 4 TOP OF FORM CHAR SEQUENCE
- FEXC DS.B 4 PROGRAM EXIT CHARACTER SEQUENCE
-
- * BUFFER POINTERS.
-
- FBFW DS.L 1 FIRST WORD ADDRESS OF BUFFER
- FBIW DS.L 1 IN BUFFER POINTER
- FBOW DS.L 1 OUT BUFFER POINTER
- FBLW DS.L 1 LIMIT BUFFER POINTER (LWA + 1)
- DS.B 1
- FSTR DS.B 1+12 FILE NAME IN STRING FORMAT
- FFPB EQU $50 MAC FILE PARAMETER BLOCK
- FITL EQU $86 FIT LENGTH
-
- * COMMON CONSTANTS.
-
- B EQU 1 BYTE LENGTH
- W EQU 2 WORD LENGTH
- L EQU 4 LONG WORD LENGTH
- D EQU 8 DOUBLE LONG WORD LENGTH
- NOREF B,W,L,D
-
-
- * COMMON MACROS.
- STR SPACE 4,10
- ** STR - DEFINE A 'PASCAL' STRING.
-
- STR MACRO STRING
- LOCAL AA,BB
- DC.B BB-AA
- AA DC.B #H&STRING
- BB DS.B 0
- ENDM
- SUBR SPACE 4,10
- ** SUBR - DEFINE SUBROUTINE ENTRY/EXIT PROCESSING.
- *
- * NAME SUBR
-
-
- SUBR MACROL NAME
- NAME&X RTS
- NAME DS 0
- ENDM
-
- * I/O and CPM interface Macros.
- * For use with the routines in Module IOS.S .
-
- CLOSE SPACE 4,10
- ** CLOSE - CLOSE FILE.
- *
- * CLOSE FA
- *
- * FA = FIT ADDRESS.
-
- CLOSE MACRO FA
- EQRL FA,A1
- JSR IOCLS(PC)
- ENDM
- ENDRUN SPACE 4,10
- ** ENDRUN - TERMINATE JOB.
- *
- * ENDRUN
-
-
- ENDRUN MACRO
- MOVEQ #0,D0 NORMAL TERMINATION
- JSR IOEND(PC)
- ENDM
- EQRL SPACE 4,10
- ** EQRL - EQUAL REGISTER CHECK.
- * EQRL assumes a MOVE.L for a D-register destination.
- * But for an A-register destination, uses an LEA to load the
- * A-register whenever the source is an indirect, absolute, or
- * p-relative memory reference.
- *
- * EQRL SOURCE,DEST
-
- EQRL MACRO SOURCE,DEST
- EQR1 IFS NE,*SOURCE*DEST*
- EQR2 IF -DREG,DEST
- EQR3 IF -IREG,SOURCE
- EQR3 IF -ABS,SOURCE
- EQR3 IF -PREL,SOURCE
- MOVE.L SOURCE,DEST
- EQR3 ELSE
- LEA SOURCE,DEST
- EQR3 ENDC
- EQR2 ELSE
- MOVE.L SOURCE,DEST
- EQR2 ENDC
- EQR1 ENDC
- ENDM
- OPEN SPACE 4,10
- ** OPEN - OPEN FILE.
- *
- * OPEN FA
- *
- * FA = FIT ADDRESS.
-
- OPEN MACRO FA
- EQRL FA,A1
- JSR IOOPEN(PC)
- ENDM
- READ SPACE 4,10
- ** READ - ISSUE READ CALL TO FILL FIT BUFFER.
- *
- * READ FA
- *
- * FA = FIT ADDRESS.
-
-
- READ MACRO FA
- EQRL FA,A1
- JSR IOREAD(PC)
- ENDM
- READB SPACE 4,10
- ** READB - READ BYTES.
- *
- * READB FA,WORKB,WORKBL
- *
- * FA - FIT ADDRESS.
- * WORKB - BUFFER ADDRESS TO PLACE DATA.
- * WORKBL - BUFFER BYTE LENGTH.
-
-
- READB MACRO FA,WORKB,WORKBL
- EQRL FA,A1
- EQRL WORKB,A0
- EQRL WORKBL,D0
- JSR IOREADB(PC)
- ENDM
- READO SPACE 4,10
- ** READO - READ ONE BYTE.
- *
- * READO FA
- *
- * FA - FIT ADDRESS.
-
-
- READO MACRO FA
- EQRL FA,A1
- JSR IOREADO(PC)
- ENDM
- WRITE SPACE 4,10
- ** WRITE - WRITE FIT BUFFER.
- *
- * WRITE FA
- *
- * FA = FIT ADDRESS.
-
-
- WRITE MACRO FA
- EQRL FA,A1
- JSR IOWRITE(PC)
- ENDM
- WRITEB SPACE 4,10
- ** WRITEB - WRITE BYTES.
- *
- * WRITEB FA,WORKB,WORKBL
- *
- * FA - FIT ADDRESS.
- * WORKB - BUFFER ADDRESS OF DATA.
- * WORKBL - BUFFER BYTE LENGTH.
-
-
- WRITEB MACRO FA,WORKB,WORKBL
- EQRL FA,A1
- EQRL WORKB,A0
- EQRL WORKBL,D0
- JSR P@IOWRITEB
- ENDM
- WRITEBS SPACE 4,10
- ** WRITEBS - WRITE BYTE STRING.
- *
- * THE BYTE STRING MUST BE TERMINATED WITH A ZERO-BYTE.
- *
- * WRITEBS FA,SA
- *
- * FA - FIT ADDRESS.
- * SA - STRING ADDRESS.
-
-
- WRITEBS MACRO FA,SA
- EQRL FA,A1
- EQRL SA,A0
- JSR IOWRITES(PC)
- ENDM
- WRITEO SPACE 4,10
- ** WRITEO - WRITE ONE BYTE.
- *
- * WRITEO FA
- *
- * FA - FIT ADDRESS.
-
-
- WRITEO MACRO FA
- EQRL FA,A1
- JSR IOWRITEO(PC)
- ENDM
-
-
-
- END